package tests;

import java.util.Scanner;

import stack.ArrayStack;
import stack.EmptyStackException;

public class ArrayStackTest {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String op = "";
		ArrayStack stack = new ArrayStack(3);
		stack.push(new Contato("Udson","91836129"));
		stack.push(new Contato("Kênia", "91380805"));
		
		do {
			System.out.println("-= Teste da classe ArrayStack =-");
			System.out.println("1. Inserir\n2. Topo\n3. Remover" +
					"\n4. Tamanho\n5. Está vazia\n6. Imprimir\n0. Sair");
			System.out.print("Selecione uma operação: ");
			op = sc.nextLine();
			
			switch(op) {
				case "1":
					Contato c = new Contato();
					System.out.print("\tDigite um nome: ");
					c.setNome(sc.nextLine());
					System.out.print("\tDigite um número: ");
					c.setNumero(sc.nextLine());
					stack.push(c);
					System.out.println("\t\tContato inserido.\n");
					break;
					
				case "2":
					try {
						System.out.println("\t" + stack.top() + "\n");
					} catch (EmptyStackException e) {
						System.out.println("\tA pilha está vazia!\n");
					}
					break;
					
				case "3":
					try {
						System.out.println("\t" + stack.pop() + " removido.\n");
					} catch (EmptyStackException e) {
						// TODO Auto-generated catch block
						System.out.println("\tA pilha está vazia!\n");
					}
					break;
				
				case "4":
					System.out.println("\t" + stack.size() + "\n");
					break;
				
				case "5":
					System.out.println(stack.isEmpty() ?
							"\tEstá vazia.\n" : "\tNão está vazia.\n");
					break;
				
				case "6":
					System.out.println("\t" + stack.toString() + "\n");
					break;
			}
		} while(!"0".equals(op));
		
		sc.close();
	}

}
